import router from "./router";
// 进度条插件
import nProgress from "nprogress";
import 'nprogress/nprogress.css'
import store from "./store";

// 前置守卫
// 声明一个白名单
const whileList = ['/login', '/404']
// to到那里去，form从哪里来,next必须执行的函数，不执行就无法跳转
router.beforeEach((to, form, next) => {
  // 开启进度条
  nProgress.start()
  if (store.getters.token) {
    //存在token
    if (to.path === "/login") {
      //跳转到主页
      next('/')//中转到主页
      //next('地址')时并没有执行后置守卫
      nProgress.done()
    } else {
      next()//直接放过
    }
  } else {
    //没有token
    if (whileList.includes(to.path)) {
      next()
    } else {
      next('/login')//中转到登录页
      nProgress.done()
    }
  }

})

//后置守卫
router.afterEach(() => {
  // 关闭进度条
  nProgress.done()
})